Folding of Tagged Single Assignment Values for Memory-Efficient Parallelism
نویسندگان
چکیده
The dynamic-single-assignment property for shared data accesses can establish data race freedom and determinism in parallel programs. However, memory management is a well known challenge in making dynamic-single-assignment practical, especially when objects can be accessed through tags that can be computed by any step. In this paper, we propose a new memory management approach based on user-specified folding functions that map logical dynamic-single assignment (DSA) tags into dynamic-multiple-assignment (DMA) tags. We also compare folding with get-counts, an approach in which the user specifies a reference count for each single-assignment value. The context for our work is parallel programming models in which shared data accesses are coordinated by put/get operations on tagged DSA data structures. These models include dataflow programs with I-structures, functional subsets of parallel programs based on tuple spaces (notably, Linda), and programs written in the Concurrent Collections (CnC) coordination language. Our conclusion, based on experimental evaluation of five CnC programs, is that folding and get-counts can offer significant memory efficiency improvements, and that folding can handle cases that the get-counts cannot.
منابع مشابه
Heuristics for Offset Assignment in Embedded Processors
This thesis deals with the optimization of program size and performance in current generation embedded digital signal processors (DSPs) by the design of optimal memory layouts for data. Given the tight constraints on the size, power consumption, cost and performance of these processors, the minimization of the code size in terms of the number of instructions required and the associated reductio...
متن کاملSea Cucumber: A Synthesizing Compiler for FPGAs
Sea Cucumber (SC) is a synthesizing compiler for FPGAs that accepts Java class files as input (generated from Java source files) and that generates circuits that exploit the coarseand fine-grained parallelism available in the input class files. Programmers determine the level of coarse-grained parallelism available by organizing their circuit as a set of inter-communicating, concurrent threads ...
متن کاملParallel Static Single Assignment Form and Constant Propagation for Explicitly Parallel Programs
Static Single Assignment (SSA) form has shown its usefulness for powerful code optimization techniques, such as constant propagation, of sequential programs. We introduce a new Parallel Static Single Assignment (PSSA) form and the transformation algorithm for the explicitly parallel programs with interleaving semantics and post-wait synchronization. The parallel construct considered in this pap...
متن کاملConcurrent Static Single Assignment Form and Constant Propagation for Explicitly Parallel Programs
Static Single Assignment (SSA) form has shown its usefulness for powerful code optimization techniques such as constant propagation in sequential programs. We introduce the Concurrent Static Single Assignment (CSSA) form and the transformation algorithm for explicitly parallel programs with interleaving semantics and post-wait synchronization. The parallel construct considered in this paper is ...
متن کاملAn Analytical Approach for Single and Mixed-Model Assembly Line Rebalancing and Worker Assignment Problem
In this paper, an analytical approach is used for assembly line rebalancing and worker assignment for single and mixed-model assembly lines based on a heuristic-simulation algorithm. This approach helps to managers to select a better marketing strategy when different combinations of demands are suitable.Furthermore, they can use it as a guideline to know which worker assignment is better for ea...
متن کامل